package com.piggy.logi.sys.bo;

import com.piggy.common.core.annotation.Excel;
import com.piggy.common.core.web.domain.BaseTenantEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import javax.validation.constraints.*;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import lombok.EqualsAndHashCode;


/**
 * 运单签收编辑对象 logi_waybill_sign
 *
 * @author piggy
 * @date 2023-09-19
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel("运单签收编辑对象")
public class LogiWaybillSignEditBo extends BaseTenantEntity {


    /** 主键id */
    @ApiModelProperty("主键id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long signedId;

    /** 运单编号 */
    @ApiModelProperty("运单编号")
    @NotNull(message = "运单编号不能为空")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long waybillId;

    /** 签收人 */
    @ApiModelProperty("签收人")
    @NotBlank(message = "签收人不能为空")
    private String signer;

    /** 联系电话 */
    @ApiModelProperty("联系电话")
    @NotBlank(message = "联系电话不能为空")
    private String signedPhone;

    /** 签收状态 0 待签收 1 签收 */
    @ApiModelProperty("签收状态 0 待签收 1 签收")
    @NotNull(message = "签收状态 0 待签收 1 签收不能为空")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long signedStatus;

    /** 签收证件(证件号码) */
    @ApiModelProperty("签收证件(证件号码)")
    @NotBlank(message = "签收证件(证件号码)不能为空")
    private String signedIdcard;

    /** 签收类型 0 未知 1 全部签收 2 部分签收 */
    @ApiModelProperty("签收类型 0 未知 1 全部签收 2 部分签收")
    @NotNull(message = "签收类型 0 未知 1 全部签收 2 部分签收不能为空")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long signedType;

    /** 代理签收标识 0 默认值 1 代理 */
    @ApiModelProperty("代理签收标识 0 默认值 1 代理")
    private Integer signedAgentFlag;

    /** 签收回单附件(id值，多个id逗号分隔) */
    @ApiModelProperty("签收回单附件(id值，多个id逗号分隔)")
    private String signedAttach;

    /** 代收附件 */
    @ApiModelProperty("代收附件(id值，多个id逗号分隔)")
    private String agentAttach;

    /** 签收备注 */
    @ApiModelProperty("签收备注")
    private String signedRemark;

}
